home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacHack 1997
/
MacHack 1997.toast
/
Hacks
/
Hacks ’93
/
Windoid
/
README & Changes
< prev
Wrap
Text File
|
1993-06-18
|
8KB
|
249 lines
NAME:
Infinity Windoid 2.3
FILE:
README
WRITTEN BY:
Troy Gaul
Infinity Systems
© 1991-93 Infinity Systems
All rights reserved.
-------------------------------------------------------------------------------
DESCRIPTION:
This file contains a description of a standalone code resource, the
Infinity Windoid, that conforms to a Window DEFinition (WDEF), as defined
by Apple Computer in Inside Macintosh.
It provides a 'windoid' appearance. A windoid is a floating window
that appears above document windows in an application and is commonly
used for things like tool palettes, information windows, and the like.
The WDEF included in the ResEdit file can be used as-is. This WDEF is
compiled for System 6 and later, but it would be easy to modify the
source to create one for earlier systems if this is important.
-------------------------------------------------------------------------------
FEATURES:
• Supports System 7-style coloring of windows.
• In System 7, the tinge color set by the user in the Color control
panel is used.
• Close box can be enabled from NewWindow by setting goAwayFlag.
• Zoom box (special case) implemented, utilized by adding zoomDocProc
to the proc ID used to create the windoid.
• Title bar can appear along the left of the window if 1 is added to
the proc ID (with or without a zoom box).
• For MacApp users, the left/top behavior of the proc ID can be
switched.
• System 6 coloring scheme is also supported (can be set in Kolor or
a similar control panel).
• In System 7, DeviceLoop is used so the windoid will be drawn
correctly even when it crosses monitors of differing depths.
• In System 7, indexed color tables are checked to see if there are
enough different colors to display the color version (like the
system WDEF).
-------------------------------------------------------------------------------
VERSION HISTORY:
Version 2.3: (June 93 -- MacHack '93 release)
• Now calculates correctly whether to do the System 7 shading on a
display with less than 8 bits that is set to color mode.
• When drawing the titlebar background, will no longer draw over the
top of the gadgets, causing them to flash.
• Zoom code no longer is always specific to MicroFrontier products. Now,
zoomed in/out state can be fully controlled by application
(this can be done by setting the usrState and stdState as is
described in Inside Macintosh).
• Added a header file for application use, to simplify incorporation.
• Synchronizes the color window manager port to the black-and-white
one. Useful for WDrawGIcon message, safer.
• Uses different, simpler logic for creating the properly aligned
pattern for titlebar (from Mac Prog. Secrets)
• Now gets the aux. window record for colors from the window being
considered rather than just getting the default one.
• Changed formatting to conform to my changed style used in other code.
• Put in dummy routines for handling the grow box.
• Got rid of some unneeded temporary variables from the CalcWRgn
selector routine.
• Changed the zoom-handling code to use the spareFlag as a flag
telling whether there's a zoom box, as per a suggestion in _Inside
Macintosh: Toolbox Essentials_.
• Fixed a bug where, if a window didn't have a close box, the
windoid would still send the application a hit in the close box
if that area of the titlebar was clicked.
Version 2.2: (March 93)
• First publicly distributed version.
• Extensive comments added to facilitate understanding and
modification by others.
• Added support for MacApp-style varcodes.
• Bug in way inColor was determined (needed to do a bit-shift
before anding with gdFlags) fixed.
• Removed StuffHex of strings used for title bar pattern, now
calculates these values.
• Fixed bug in logic of how MixColor was calculating the mixture.
• Support for compilation in THINK C 5.0.
• Added way to build so the window are always hilighted
Version 2.1: (November 92)
• Reduced code size by making sure no extra code was being linked
by MPW.
• Removed use of Gestalt for code size reasons.
• Ended the use of function pointers since no advantage was being
gained by their use.
• Added support for determining if enough different colors were
available to do System 7-style color like Apple's does.
Version 2.0: (January 92)
• Rewritten in C.
• Conditional compilation of some features to facilitate a
reduced-size version and one that could be distributed.
Version 1.2: (June 91)
• System 6 color support added. This feature was suggested by
Richard R. Harms.
• DeviceLoop support added. (Thanks, MacDTS.)
Version 1.1: (May 91)
• Support for System 7-style color titlebars.
Version 1.0: (May 91)
• Original version, written in Pascal and based on original
assembly language, black-and-white windoid WDEF used in
MicroFrontier products, which was written by Tom Pinkerton.
-------------------------------------------------------------------------------
MAKING WINDOWS FLOAT:
I just wanted to point out that the windoid WDEF provided here will
simply give you a window with a smaller, palette-style titlebar. It
does NOT make that window float above all the others in your program.
This behavior (which is almost always associated with windows using
this sort of WDEF) must be implemented into the application's window-
handling code. This is not necessarily a straightforward thing to do,
as there is no easy, Apple-provided way. It is not difficult, but some
care must be taken.
-------------------------------------------------------------------------------
RELEASE/USAGE INFORMATION:
This WDEF is used in commercial applications by MicroFrontier, Inc.,
including (but not limited to) Enhance 2.0, Color It! 2.0, and Paint
It! 1.0.
MicroFrontier and I are hereby making this WDEF available for use in
other products, commercial or not, with the understanding that you may
modify the code in whatever ways are necessary for use in your
product (such as adding a grow box, changing zoom behavior, etc).
MicroFrontier and Troy Gaul, however, will take no responsibility
for problems caused by the use of this code.
If you do have any problems, though, don't be afraid do contact me
by one of the ways listed below. I'll be glad to help. Also, if
you make modifications to the WDEF, I would appreciate it if you
would let me know about them. If there are changes that might benefit
others, I might implement them for a future release.
I do plan to support this WDEF in the future. If you have problems,
compatibility or otherwise, or if you see a glaring error in the code,
let me know, and a revision will be made. I will also keep a list of
e-mail addresses of those people who tell me they are using the
WDEF and want to receive updates. When a new version is released,
it (or at least notification of it) will be sent to all such users.
-------------------------------------------------------------------------------
ACKNOWLEDGEMENTS:
I'd like to pay special thanks to Tom Pinkerton, who wrote a windoid
WDEF from which I created this one and who taught me how to program the
Macintosh, and to Richard Harms, who kept pushing me to add features
(such as the System 6 color support, support for 68000 machines, and
the MacApp-style), told me about the bugs he found, and prodded me to
release a version to the public. Also, thanks to MicroFrontier for
letting me release this WDEF for use by others.
-------------------------------------------------------------------------------
HOW TO CONTACT THE AUTHOR:
To 'register' your copy of this WDEF if you plan to use it and want
updates in the future, send me your e-mail address(es). Also, use
these to contact me with any problems.
Troy Gaul
Infinity Systems
4914 EP True Parkway
Suite 205
West Des Moines, IA 50265
MicroFrontier, Inc.
3401 101st Street
Suite E
Des Moines, IA 50322
(515) 270-8109
Internet: t-gaul@grayhawk.rent.com
Applelink: mfrontier
America Online: ntwing
mfrontier
CompuServe: 72123,567
FAX: (515) 278-6828
*******************************************************************************